// 实现一个栈，该栈带有出栈(pop)、入栈(push)、
// 取最小元素(getMin)3个方 法。
// 要保证这3个方法的时间复杂度都是O(1)。
const mainStack = [];
const minStack = [];

const push = (element)=>{
  mainStack.push(element);
  if(!minStack.length || minStack[minStack.length-1]>element){
    minStack.push(element)
  }
}
const pop = ()=>{
  mainStack.pop();
  if(minStack[minStack.length-1] === mainStack[mainStack.length-1]){
    minStack.pop()
  }
}
const getMin = ()=>{
  return minStack[minStack.length-1]
}

const run =()=>{
  push(4);
  push(9);
  push(7);
  push(3);
  push(8);
  push(5);
  console.log(getMin())
  pop()
  pop()
  pop()
  console.log(getMin())
}
run()